//
//  HMBaseTableViewController.swift
//  sina
//
//  Created by 崔正强 on 17/3/22.
//  Copyright © 2017年 崔正强. All rights reserved.
//

import UIKit

//HMVisitorLoginViewDelegate必选的协议方法必须实现,否则会编译报错
class HMBaseTableViewController: UITableViewController, HMVisitorLoginViewDelegate{

    var userLogin = HMUserAccountViewModel.shared.userLogin
    
    lazy var visitorView = HMVisitorLoginView(frame: UIScreen.main.bounds)
    
    override func loadView() {
        //这个阶段 根视图控制器中的view是懒加载的 如果使用到根视图控制器会检测是否为nil  如果为nil 会调用loadView方法创建根视图
        //view没有被创建 可以被替换 可以自定义
        if userLogin == true {
            //用户已经登录 显示列表
            super.loadView()
        } else {
            //未登录 访客视图  用访客视图将列表视图替换掉
//            v.backgroundColor = UIColor.red
            self.view = visitorView
            //设置代理对象
            self.visitorView.delegate = self
        }
    }
    
    //实现协议方法
    func userWillLogin(vistorView: HMVisitorLoginView) {
        print(#function)
        let oauth = HMOAuthViewController()
        //为什么不用push 打断用户当前线性操作 用modlal
        //将Oauth内嵌到导航视图控制器中
        let nav = UINavigationController(rootViewController: oauth)
        self.present(nav, animated: true, completion: nil)
        
    }
    
//    func userWillRegister(vistorView: HMVisitorLoginView) {
//        print(#function)
//    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
